package com.ylr.base.common.constant;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2021-05-24 13:41:00
 * className RedisConstant Redis结构名称静态常量类
 * version: 1.0
 * description:
 */
public class RedisConstant {

    /*
        本类存在若干类似作用的注释，为了减少注释字数，采用统一声明，在使用处用序号标识引用的注释

        序号1：实际使用存在两种情况。1、直接使用该字段作为结构名称。2、用户id拼接该字段作为用户独有结构
        序号2：实际使用为用户id拼接该字段，作为用户独有结构
        序号3：实际使用为该字段拼接该接口参数构成
     */

    /**
     * 星号
     */
    public static final Character ASTERISK = '*';

    /*
       admin模块操作对应的Redis结构
     */
    public static final String USER_AUTHENTICATION_PREFIX = "user-authentication-";

    /*
       system模块操作对应的Redis结构
     */
    /**
     * Redis-Hash结构存储所有请求操作统计信息
     */
    public static final String OPT_MAP = "optMap";
    /**
     * Redis-Hash结构存储所有验证码信息
     */
    public static final String VALIDATE_CODE_MAP = "validateCodeMap";
    /**
     * Redis-Hash结构存储所有用户登录信息
     */
    public static final String SECURITY_USER_MAP = "securityUserMap";
    /**
     * Redis-ZSet结构存储所有用户登录过期信息
     */
    public static final String OVER_TIME_ZSET = "overTimeZSet";
    /**
     * Redis-Hash结构存储所有用户信息
     */
    public static final String USER_MAP = "userMap";
    /**
     * Redis-Hash结构存储系统所有菜单信息
     */
    public static final String MENU_MAP = "menuMap";
    /**
     * Redis-ZSet结构存储所有标签的数量
     */
    public static final String TAG_ZSET = "tagZSet";

    /*
       common模块操作对应的Redis结构
     */
    /**
     * Redis-Hash结构存储系统所有ip关联显示地址信息
     */
    public static final String IP_ADDRESS_MAP = "ipAddressMap";
    /**
     * Redis-Hash结构存储系统字典数据
     */
    public static final String DICT_MAP = "dict-";

    /*
        index模块对应的Redis结构
     */
    /**
     * Redis-Hash结构存储用户所有博客信息
     * 引用类头部注释：序号1
     */
    public static final String BLOG_MAP = "blogMap";
    /**
     * Redis-Hash结构存储最近30分钟内容有做修改的博客记录
     * 1、热门状态修改
     * 2、被推荐状态修改
     * 3、点赞数修改
     * 4、被收藏数修改
     * 5、评论数修改
     * 6、浏览数修改
     */
    public static final String UPDATE_BLOG_MAP = "updateBlogMap";
    /**
     * Redis-Hash结构存储用户所有空间信息
     * 引用类头部注释：序号2
     */
    public static final String SPACE_MAP = "spaceMap";
    /**
     * Redis-ZSet结构存储一天内博客的浏览次数排行数据
     */
    public static final String DAY_BLOG_VIEW_ZSET = "dayBlogViewZSet";
    /**
     * Redis-ZSet结构存储一个月内博客的浏览次数排行
     */
    public static final String MONTH_BLOG_VIEW_ZSET = "monthBlogViewZSet";
    /**
     * Redis-String结构存储系统已发布博客的总点赞数量
     */
    public static final String LIKE_COUNT = "likeCount";
    /**
     * Redis-String结构存储系统已发布博客的总评论数量
     */
    public static final String COMMENT_COUNT = "commentCount";
    /**
     * Redis-String结构存储系统已发布博客的总浏览数量
     */
    public static final String VIEW_COUNT = "viewCount";
    /**
     * Redis-String结构存储系统首页面标签排行列表
     */
    public static final String TAG_LIST = "tagList";
    /**
     * Redis-Hash结构存储用户使用的诗意信息
     */
    public static final String USING_POETRY_MAP = "usingPoetryMap";

    /*
        game模块对应的Redis结构
     */
    /**
     * Redis-Hash结构存储所有游戏数据
     * 引用类头部注释：序号1
     */
    public static final String GAME_MAP = "gameMap";
    /**
     * Redis-Hash结构存储所有游戏奖品的可用次数数据
     * 引用类头部注释：序号1
     */
    public static final String GAME_PRIZE_MAP = "gamePrizeMap";
    /**
     * Redis-Set结构存储游戏抽奖的奖品池
     * 引用类头部注释：序号1
     */
    public static final String GAME_PRIZE_SET = "gamePrizeSet-";
    /**
     * Redis-Hash结构存储所有游戏用户的可用游戏次数数据
     * 引用类头部注释：序号1
     */
    public static final String GAME_USER_MAP = "gameUserMap-";

    /*
        分布式锁前缀或者后缀字符串
     */
    /**
     * Redisson分布式锁前缀
     */
    public static final String LOCK_PREFIX = "lock-";
    /**
     * 博客审核、博客下架、博客上架分布式锁前缀
     */
    public static final String CHECK_BLOG_KEY = "lock-checkBlog-";
    /**
     * 博客推荐和取消推荐分布式锁前缀
     */
    public static final String RECOMMEND_KEY = "lock-recommend-";
    /**
     * 用户设置/解除部门主管分布式锁前缀
     */
    public static final String DEPT_USER = "lock-deptUser-";
    /**
     * 用户风控操作分布式锁前缀
     */
    public static final String LOCK_USER_RISK = "lock-user-risk-";
    /**
     * 用户风控操作分布式锁前缀
     */
    public static final String LOCK_REQUEST = "lock-request-";

    /*
        浏览器管理页面
     */
    /*
        菜单数据
     */
    /**
     * 存储菜单分页数据列表
     * 引用类头部注释：序号4
     */
    public static final String MENU_LIST = "menuList";
    /**
     * 存储由所有类型为’目录‘和’菜单‘的菜单数据构成的菜单树数据
     */
    public static final String MENU_TREE = "menuTree";
    /**
     * 存储用户拥有的所有菜单数据构成的菜单树
     * 引用类头部注释：序号2
     */
    public static final String USER_MENU_TREE = "userMenuTree";

    /*
        用户数据
     */
    /**
     * 存储用户分页数据列表
     * 引用类头部注释：序号4
     */
    public static final String USER_LIST = "userList";

    /*
        系统角色数据
     */
    /**
     * 存储系统角色分页数据列表
     * 引用类头部注释：序号4
     */
    public static final String ROLE_LIST = "roleList";
    /**
     * 存储所有可用的角色信息列表（角色只包含角色id和角色名字，其中角色id会被AES加密）
     */
    public static final String ALL_ROLE = "allRole";

    /*
        博客数据
     */
    /**
     * 存储用户自己博客的分页数据列表
     * 引用类头部注释：序号4
     */
    public static final String USER_BLOG_LIST = "userBlogList";
    /**
     * 存储管理员可以管理的博客列表
     * 引用类头部注释：序号4
     */
    public static final String MANAGE_BLOG_LIST = "manageBlogList";

    /*
        博客标签数据
     */
    /**
     * 存储博客标签信息的分页数据列表
     * 引用类头部注释：序号4
     */
    public static final String SYSTEM_TAG_LIST = "systemTagList";

    /*
        用户诗意数据
     */
    /**
     * 存储用户诗意信息列表
     * 引用类头部注释：序号4
     */
    public static final String POETRY_LIST = "poetryList";

    /*
        用户空间数据
     */
    /**
     * 存储用户自己空间信息的分页数据列表
     * 引用类头部注释：序号4
     */
    public static final String SPACE_LIST = "spaceList";

    /*
        博客评论管理页面
     */
    /**
     * 存储博客评论管理页面的博客列表数据
     * 引用类头部注释：序号4
     */
    public static final String BLOG_LIST = "blogList";

    /**
     * 浏览器页面-风控管理页面
     */
    public static final String USER_RISK = "userRisk";

    /*
        浏览器页面-首页
     */
    /**
     * 存储客户端首页面展示的博客列表数据
     * 引用类头部注释：序号4
     */
    public static final String INDEX_LIST = "indexList";

    /**
     * 存储系统统计信息数据
     */
    public static final String WEB_STATS = "webStats";

    /*
        浏览器页面-标签排序页面
     */
    /**
     * 存储所有博客标签排序列表数据
     */
    public static final String TAG_SORT_LIST = "tagSortList";
    /**
     * 存储某个标签关联的博客列表数据
     * 引用类头部注释：序号4
     */
    public static final String TAG_BLOG_LIST = "tagBlogList";

    /*
        浏览器页面-排序页面
     */
    /**
     * Redis-String结构存储系统博客排序页面，综合博客排行列表前缀
     * 引用类头部注释：序号4
     */
    public static final String SORT_BLOG_LIST = "sortBlogList";
    /**
     * Redis-String结构存储系统博客排序页面，热门博客排行列表前缀
     * 引用类头部注释：序号4
     */
    public static final String HOT_SORT_LIST = "hotSortList";
    /**
     * Redis-String结构存储系统博客排序页面，系统推荐博客排行列表前缀
     * 引用类头部注释：序号4
     */
    public static final String RECOMMEND_SORT_LIST = "recommendSortList";

}
